With popularization of a mobile network and a smartphone, a user more frequently accesses a network using a mobile phone terminal, and frequent access of the user to the mobile network puts a strain on air interface resources. Currently, the mobile terminal can use only one network at a time, but when a high-definition video is browsed using the mobile phone terminal or high-speed downloading is performed on the mobile terminal, bandwidth provided by only one network cannot meet a requirement of the user. Therefore, if the mobile phone terminal can use multiple networks, a problem that bandwidth of one network cannot meet the requirement of the user can be resolved, and a research on using multiple networks by a mobile phone terminal also gradually becomes an inevitable trend of industry development.
Currently, there is a method for using multiple networks in an ANDROID system of a mobile phone terminal, where multiple network interface cards (NICs) are integrated together in the mobile phone terminal, and a virtual NIC is established between an application program and the multiple NICs at a bottom layer by changing a connection service of an ANDROID kernel, to simultaneously manage all physical NICs. When multiple application programs on the mobile phone terminal are connected to a mobile network, a transmission control protocol (TCP) connection is established for each application program, and each TCP connection communicates with an external Internet using a different network. For example, if the mobile phone terminal initiates two download requests in total, two TCP connections are established for the two download requests, where one TCP connection uses a third generation (3G) mobile communications technology NIC and data is downloaded from the external Internet using a 3G network, and the other TCP connection uses a wireless fidelity (WiFi) NIC and data is downloaded from the external Internet using a WiFi network. Data packets that belong to a same TCP connection can be forwarded to a virtual NIC only using a NIC corresponding to the connection, and then the data packets are forwarded to an upper-layer protocol stack by the virtual NIC, and are finally returned to an application layer. In this way, the 3G network and the WiFi network can be used in the system, to achieve an objective of increasing network bandwidth by means of aggregation.
The prior art has the following disadvantages during implementation of the present disclosure. An existing manner is for a case in which one NIC is chosen for a single TCP connection to connect to the external Internet, and multiple networks can be used to communicate with the external Internet only if multiple TCP connections need to be established, that is, the multiple networks can be aggregated only when at least two TCP connections are established for the mobile phone terminal, and the data packets that belong to the same TCP connection still need to be forwarded to the virtual NIC using the NIC corresponding to the connection, and therefore used traffic of each network cannot be controlled. In addition, if only one TCP connection is established, the TCP connection can be connected to the external Internet only by choosing one NIC and using one network, but the multiple networks cannot be used, and therefore, an objective of increasing network bandwidth by means of aggregation cannot be achieved, and the used traffic of each network also cannot be controlled, which is unfavorable for network traffic management.